package com.azt.api.service;

import java.util.Map;

import com.azt.api.pojo.ProRepositoryTitles;
import com.azt.api.pojo.ProRepositoryTitlesExcept;
import com.azt.model.page.Pagination;

/**
 * 标题库,标题排除库
 */
public interface ProRepositoryTitleService {

	/**
	 * @description 分页
	 * @param PageNo
	 * @param PageSize
	 * @param searchMap
	 * @return
	 * @author 查恒  2016年7月15日上午10:20:17
	 */
	public Pagination getRepositoryPage(int PageNo, int PageSize, Map<String, String> searchMap);

	/**
	 * @description 删除对象
	 * @param id
	 * @return
	 * @author 查恒  2016年7月15日上午10:20:09
	 */
	public Integer delrepository(Integer id);

	/**
	 * @description 由ID获取对象
	 * @param id
	 * @return
	 * @author 查恒  2016年7月15日上午10:19:53
	 */
	public ProRepositoryTitles getRepositoryTitleById(Integer id);

	/**
	 * @description 保存对象
	 * @param prt
	 * @author 查恒  2016年7月15日上午10:19:45
	 */
	public void save(ProRepositoryTitles prt);

	/**
	 * @description 更新对象
	 * @param repositoryTitle
	 * @author 查恒  2016年7月15日上午10:19:39
	 */
	public void updateRepositoryTitle(ProRepositoryTitles repositoryTitle);

	/**
	 * @description 验证重复
	 * @param title
	 * @return
	 * @author 查恒  2016年7月15日上午10:19:17
	 */
	public boolean checkDuplicative(Integer id,String title);

	/**
	 * 获取排除项列表
	 * @param i
	 * @param pAGE_SIZE
	 * @param searchMap
	 * @return
	 * @author 张栋  2016年7月11日下午2:22:35
	 */
	public Pagination getAllExceptPager(int i, int pAGE_SIZE, Map<String, String> searchMap);

	/**
	 * 删除一个排除项
	 * @param id
	 * @author 张栋  2016年7月11日下午2:33:33
	 */
	public void delrepositoryExcept(Integer id);

	/**
	 * 保存
	 * @param except
	 * @author 张栋  2016年7月11日下午2:35:53
	 * @return 
	 */
	public String saveExcept(ProRepositoryTitlesExcept except);

	
	/**
	 * 获取匹配的标题
	 * @param title
	 * @param type 0 为全部, 1为询价,2为报价
     * @return
	 */
	Integer getTitleIdByTitle(String title, int type);

	/**
	 * 根据md5查标题
	 * @param md5_16
	 * @param type
	 * @return
	 * @author 张栋  2016年7月5日上午9:59:06
	 */
	ProRepositoryTitles getRepositoryTitleBymd5(String md5_16, int type);

	/**
	 * 保存或者更新标题
	 * @param title
	 * @author 张栋  2016年7月5日上午10:03:57
	 */
	ProRepositoryTitles saveOrupdateRepositoryTitle(ProRepositoryTitles title);

	/**
	 * 获取排除
	 * @param title
	 * @param type  1.询价,2报价
     * @return
	 * @author 张栋  2016年7月11日下午3:30:29
	 */
	ProRepositoryTitlesExcept getExceptByTitle(String title, Integer type);
}
